var __global_guid= newGuid();
var   rootPath=getRootPath();
var __global_report_root_url='';
var __global_file_root_path='';
/**
 *产生guid
 */
function newGuid()
{
    var guid = "";
    for (var i = 1; i <= 32; i++){
      var n = Math.floor(Math.random()*16.0).toString(16);
      guid +=   n;
      if((i==8)||(i==12)||(i==16)||(i==20))
        guid += "-";
    }
    return guid;    
}
/**
 * 应用公共的js方法放这
 */

//列表查询    form表单 id  name  都为form
function  _search(form,url){
	form.action=rootPath+url;
	form.submit();
}
//显示界面：比如，新增，修改，查看等
//参数列表
//title--标题
//url--界面对于url
//width--窗口宽度
//height--窗口高度
function _showPage(title,url,w,h){
	var neww;
    var newh;
    
    if(w.indexOf("%")!=-1){
      neww = w; 
    }else{
      neww = w+'px';
    }
    if(h.indexOf("%")!=-1){
      newh = h; 
    }else{
      newh = h+'px';
    }
    var  newurl = rootPath + url ;
	layer.open({
			type: 2,
			area: [neww, newh],
			fix: true,
			shade:0.4,
			title: title,
			content: newurl,
            maxmin:true,
			cancel:function(){
				window.location.reload();
			},
			skin:'layui-layer-lan'
		});
	
}
//提示后，再调用js函数
//参数列表
//confirmText--提示文字
function _confirm(confirmText,fun){
	layer.confirm(confirmText,fun);
}
//将form序列化转换为json格式
function formToJson (data) {
   data=data.replace(/&/g,"\",\"");
   data=data.replace(/=/g,"\":\"");
   data="{"+data+"}";
   return data;
}
//根据毫秒数格式化时间
var formatDate = function(orgtime, format){
	time=Number(orgtime);
    //非法格式，原样返回
	if(time=='' || time==0 || isNaN(time)){
		
		return orgtime;
	}
    var t = new Date(time);
    var tf = function(i){return (i < 10 ? '0' : '') + i};
    return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){
        switch(a){
            case 'yyyy':
                return tf(t.getFullYear());
                break;
            case 'MM':
                return tf(t.getMonth() + 1);
                break;
            case 'mm':
                return tf(t.getMinutes());
                break;
            case 'dd':
                return tf(t.getDate());
                break;
            case 'HH':
                return tf(t.getHours());
                break;
            case 'ss':
                return tf(t.getSeconds());
                break;
        }
    })
}

//获取报表服务根url
function getReportRootUrl(){
    if(__global_report_root_url==''){            
	    $.ajax({  
	            type: "GET",  
	            url: getRootPath()+"/pubController/getRmCodeData/URL/report_root_url",  
	            cache : false,  //禁用缓存    
	            async:false , //false为同步
	            dataType: "json",  
	            success: function(result) {  
	                    //异常判断与处理  
	                    if (result.status=='0') {  
	                        alert(result.message);  
	                        __global_report_root_url= '';  
	                    }else{
	                        __global_report_root_url = result.bean;
	                    }                      
	            },  
	            error: function(XMLHttpRequest, textStatus, errorThrown) {  
	                alert("查询失败");  
	            }  
	        }); 
     }
	return __global_report_root_url;
}
//上传文件
function uploadFile(url,fileElementId,successToUrl){
	//url 后面自动带csrf 编码
	if(!isStrEmpty($('#_csrfcode_').val())){
		if (url.indexOf("?") == -1) {
			url = url + "?_csrfcode_=" + $('#_csrfcode_').val();
		} else {
			url = url + "&_csrfcode_=" + $('#_csrfcode_').val();
		}
	}
	//自动加上rootpath
    if(url.indexOf(rootPath)!=0){
    	url = rootPath + url;
    }
	$.ajaxFileUpload({
		url:url,
		secureuri:false,
		fileElementId:fileElementId,
		dataType:'json',
		success:function(data, status){
			if(data.status=="0"){
				 alert(data.message);
				 return false;
			}else{
				 alert(data.message);
				 if(!isStrEmpty(successToUrl)){
				 	window.location.href=successToUrl;
				 }
				 return true;
			}
		},
		error:function(xhr, s1, s2){
			var message = xhr.responseText;
			eval("var json = "+message);
			if($.trim(json.exception).length==0){
				 alert("数据异常,请刷新页面重试!");
			}else{
				alert(json.exception);
			}
			return false;
		}
	});
}
//datatable缺省设置
$(function(){
	$.extend( true, $.fn.dataTable.defaults, {
		"language":{
			"url":rootPath+"/js/h-ui.admin/datatables/1.10.2/i18n/Chinese.json"
		},
	    "lengthMenu": [ 15, 25, 50],//指定页大小列表	
		"bStateSave": true,//状态保存
		"searching":false,//去掉查询
		"processing":true,//
		"serverSide":true,//服务器端执行
		"pageLength":15,
	} );
});
//获取保存文件的根目录
function getFileRootPath(){
    if(__global_file_root_path==''){            
	    $.ajax({  
	            type: "GET",  
	            url: getRootPath()+"/pubController/getRmCodeData/PATH/ROOT_PATH",  
	            cache : false,  //禁用缓存    
	            async:false , //false为同步
	            dataType: "json",  
	            success: function(result) {  
	                    //异常判断与处理  
	                    if (result.status=='0') {  
	                        alert(result.message);  
	                        __global_file_root_path= '';  
	                    }else{
	                        __global_file_root_path = result.bean;
	                    }                      
	            },  
	            error: function(XMLHttpRequest, textStatus, errorThrown) {  
	                alert("查询失败");  
	            }  
	        }); 
     }
	return __global_file_root_path;
}
//获取指定表新ID
function getNewId(tableName){
    var id ='';           
	 $.ajax({  
            type: "GET",  
            url: getRootPath()+"/pubController/getNewId/"+tableName,  
            cache : false,  //禁用缓存    
            async:false , //false为同步
            dataType: "json",  
            success: function(result) {  
                    //异常判断与处理  
                    if (result.status=='0') {  
                        alert(result.message);  	                         
                    }else{
                        id = result.id;
                    }                      
            },  
            error: function(XMLHttpRequest, textStatus, errorThrown) {  
                alert("生成ID失败!");  
            }  
        });      
	return id;
}
//判断是否为金额
function isMoney(v){
	var a=/^[0-9]*(\.[0-9]{1,2})?$/;
    if(!a.test(v)){
    	return false;
    }else{
    	return true;
   	}
}
//判断字符串是否为空
function isStrEmpty(value){
	if (value !== null && value !== undefined && value !== '') {
		return false;
	}else{
		return true;
	}
}	
//ajax提交
//参数:
//url--提交目标url
//param--提交参数
//successUrl--成功后跳转url，为空则不跳转
//callbackFun--回调按钮
function submitAjax(url,param,successUrl,callbackFun){
	debugger;
 	//url后面自动带jsguid
	if(url.indexOf("jsguid")==-1){
		 if(url.indexOf("?")==-1){
			   url = url+"?jsguid="+__global_guid;
		 }else{
			   url = url+"&jsguid="+__global_guid;
		 }
	}
	//url 后面自动带csrf 编码
	if(!isStrEmpty($('#_csrfcode_').val())){
		if (url.indexOf("?") == -1) {
			url = url + "?_csrfcode_=" + $('#_csrfcode_').val();
		} else {
			url = url + "&_csrfcode_=" + $('#_csrfcode_').val();
		}
	}
 
	 $.ajax({
	    type:'post',//可选get
	    url:url,
	    data:param,//送评表的表格id属性值
	    dataType:'json',
	    async:false , //false为同步
	    success:function(data,status){
	      //更新csrf随机码
	      $("#_csrfcode_").val(data._csrfcode_);
	      //如果回调函数有效，则回调
	      if(!isStrEmpty(callbackFun)){
	    	  callbackFun(data._csrfcode_);
	      }
		  if(data.status=="0"){
		  	  layer.msg(data.message,{icon:1,time:1000});
			  //alert(data.message);
			  return false;
	   	   }else{	   	      
	   		  //alert(data.message);
	   		  layer.msg(data.message,{icon:1,time:1000});
	   		  if(!isStrEmpty(successUrl)){
		   		window.parent.location.reload();
		   		var index = parent.layer.getFrameIndex(window.name);
		   		parent.layer.close(index);
		   		window.location.href=successUrl;
	   		  }	   		  
	   		  return true;   		
	   	   }
		   	
	   },
	   error:function(xhr,s1,s2){
			var  message= xhr.responseText;
	    	var  json = jQuery.parseJSON(message);
	
			if($.trim(json.exception).length==0){
				alert('数据异常,请刷新页面重试');
			}else{
				alert(json.exception);
			}
			return false;			
	   }
	   });
}

//选择单个记录编辑或者查看
function singleEdit(title,url,w,h){
	//判断用户是否选择
	var len = $('input[name="allId"]:checked').length;
    var count=0;
    var ids='';
     $('input[name="allId"]:checked').each(function(){
     	
     	var dataId =$(this).val();
     	if(dataId !== undefined && dataId!='on'){
     		ids+=dataId
         	if(len!=1){
         		ids+=","
         	}
         	count++;
     	}
     });  
    if(count==0){
       alert("请选择记录!");
       return;
    }  
    
    if(count>1){
       alert("只能选择一条记录!");
       return;	
    }
    var newUrl ;
    if(url.indexOf("?")>=0){
    	newUrl = url+'&id='+ids+'&jsguid='+ids;
    }else{
    	newUrl = url+'?id='+ids+'&jsguid='+ids;
    }
	var neww;
    var newh;
    
    if(w.indexOf("%")!=-1){
      neww = w; 
    }else{
      neww = w+'px';
    }
    if(h.indexOf("%")!=-1){
      newh = h; 
    }else{
      newh = h+'px';
    }
	layer.open({
			type: 2,
			area: [neww, newh],
			fix: true,
			shade:0.4,
			title: title,
			content: getRootPath()+newUrl,
            maxmin:true,
			cancel:function(){
				window.location.reload();
			},
			skin:'layui-layer-lan'
	});
}
//单条删除
function singleDelete(url,callbackFun){
	//判断是否选择
	var len = $('input[name="allId"]:checked').length;
    var count=0;
    var ids='';
     $('input[name="allId"]:checked').each(function(){     	
     	var dataId =$(this).val();
     	if(dataId !== undefined && dataId!='on'){
     		ids+=dataId
         	if(len!=1){
         		ids+=","
         	}
         	count++;
     	}
     });  
    if(count==0){
       alert("请选择删除的记录!");
       return;
    }  
    
    if(count>1){
       alert("只能选择一条记录!");
       return;	
    }
    var newUrl ;
    if(url.indexOf("?")>=0){
    	newUrl = url+'&id='+ids+'&jsguid='+ids;
    }else{
    	newUrl = url+'?id='+ids+'&jsguid='+ids;
    }
    newUrl = rootPath +newUrl;
    //url 后面自动带csrf 编码
	if(!isStrEmpty($('#_csrfcode_').val())){
		if (newUrl.indexOf("?") == -1) {
			newUrl = newUrl + "?_csrfcode_=" + $('#_csrfcode_').val();
		} else {
			newUrl = newUrl + "&_csrfcode_=" + $('#_csrfcode_').val();
		}
	}
	layer.confirm('确认要删除吗？',function(index){
		$.ajax({
			type: 'POST',
			url: newUrl,
			dataType: 'json',
			success: function(data){
				//更新随机码
				$("#_csrfcode_").val(data._csrfcode_);
				//如果回调函数有效，则回调
				if(!isStrEmpty(callbackFun)){
					callbackFun(data._csrfcode_);
				}
				//$(obj).parents("tr").remove();
				layer.msg('已删除!',{icon:1,time:1000});
				$('.table-sort').DataTable().ajax.reload();
			},
			error:function(data) {
				console.log(data.msg);
			},
		});		
	});
}
/*拼接参数*/
function splitParameter(data,paramJsonStr){	 
	 //组装 排序参数
	 if(data.order && data.order.length && data.order[0]){
	  data.sort = data.columns[data.order[0].column].data;
      if(data.sort!='0'){
      	data.dir = data.order[0].dir;
      }else{
        data.sort ='';
        data.dir='';
      }
	}  
	var retVal;
	retVal = $.extend( {}, data,paramJsonStr); 
	return retVal;
}
$.fn.serializeObject=function(){
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
};
/**
 * 查询消息收件人
 */
function _searchData(dataTable){	
	dataTable.ajax.reload();
}
/**
 * 错误提示框
 */
function alert(content){
	layer.alert(content, {
        title: "提示",
        skin: "layui-layer-red",
        closeBtn: 0
    });
}
//批量修改状态
function updateState(url,state){
	debugger;
	//判断是否选择
	var len = $('input[name="allId"]:checked').length;
    var count=0;
    var ids='';
     $('input[name="allId"]:checked').each(function(){     	
     	var dataId =$(this).val();
     	if(dataId !== undefined && dataId!='on'){
     		ids+=dataId
         	if(len!=1){
         		ids+=","
         	}
         	count++;
     	}
     }); 
     if(count==0){
       alert("至少选择一条记录!");
       return;
    }  
      // 去掉逗号
     if(count>1){
     ids = ids.substring(0,ids.length-1);
     }
    var newUrl ;
    if(url.indexOf("?")>=0){
    	newUrl = url+'&id='+ids+'&jsguid='+ids+'&state='+state;
    }else{
    	newUrl = url+'?id='+ids+'&jsguid='+ids+'&state='+state;
    }
    //url 后面自动带csrf 编码
	if(!isStrEmpty($('#_csrfcode_').val())){
		if (newUrl.indexOf("?") == -1) {
			newUrl = newUrl + "?_csrfcode_=" + $('#_csrfcode_').val();
		} else {
			newUrl = newUrl + "&_csrfcode_=" + $('#_csrfcode_').val();
		}
	}
	var newurl=rootPath+newUrl;
	updateStateAjax(newurl)
}
//批量修改状态的ajax
function updateStateAjax(newurl){
	$.ajax({
			type: 'POST',
			url: newurl,
			dataType: 'json',
			success: function(data){
				//更新随机码
				$("#_csrfcode_").val(data._csrfcode_);
				layer.msg('已更新!',{icon:1,time:1000});
				//全选序号取消
				$("[name='allId']").removeAttr("checked");
				$('.table-sort').DataTable().ajax.reload();
			},
			error:function(data) {
				console.log(data.msg);
			},
		});	
}
//选择单个记录查看详情
function details(title,url,w,h,id){
	//判断用户是否选择
    var newUrl ;
    var openedLayer;
    if(url.indexOf("?")>=0){
    	newUrl = url+'&id='+id+'&jsguid='+id;
    }else{
    	newUrl = url+'?id='+id+'&jsguid='+id;
    }
	var neww;
    var newh;
    
    if(w.indexOf("%")!=-1){
      neww = w; 
    }else{
      neww = w+'px';
    }
    if(h.indexOf("%")!=-1){
      newh = h; 
    }else{
      newh = h+'px';
    }
    openedLayer =layer.open({
			type: 2,
			area: [neww, newh],
			fix: true,
			shade:0.4,
			title: title,
			content: newUrl,
            maxmin:true,
			cancel:function(){
				window.location.reload();
			},
			skin:'layui-layer-lan'
	});
}
//关闭打开的详情页layer层
function closeOpenedLayer(){
	var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
	parent.layer.close(index); //再执行关闭   
}
//根据id查找列
function getIdByColumn(jsonObj,column){		
	for(var i=0;i<jsonObj.length;i++){
		if(jsonObj[i].column == column){
		    return jsonObj[i].id;
		}
	}
	return ""
}
//更新父级窗口csrf码
function upateCSRF(csrfcode){
	parent.$("#_csrfcode_").val(csrfcode);
}

//更新上上级窗口csrf码
function upateCSRFFather(csrfcode){
	parent.parent.$("#_csrfcode_").val(csrfcode);
}
//更新上上级窗口csrf码
function upateSelfCSRF(){
	debugger;
	$("#_csrfcode_").val(parent.$("#_csrfcode_").val());
}
//导入xls
function importXlsFile(fileElementId){
	$(fileElementId).click();
}
//导出xls
//参数说明：
//url：下载xls url
//orderFields:排序字段名
//hideColumns:隐藏属性名列表(逗号分隔)
//deleteColumns:删除属性名列表(逗号分隔)
function exportXlsFile(url,orderFields,hideColumns,deleteColumns){
	//参数说明:_order=排序字段名&_hideColumns_=隐藏属性名列表(逗号分隔)&_deleteColumns_=删除属性名列表(逗号分隔)
	if(url.indexOf("?")>=0){
    	newUrl = url+'&_order='+orderFields+'&_hideColumns_='+hideColumns+'&_deleteColumns_'+deleteColumns;
    }else{
    	newUrl = url+'?_order='+orderFields+'&_hideColumns_='+hideColumns+'&_deleteColumns_'+deleteColumns;
    }	
    //自动加上rootpath
    if(newUrl.indexOf(rootPath)!=0){
    	newUrl = rootPath + newUrl;
    }
	window.location.href=newUrl;
}